Synchronized CPDMA (code phase division multiple access)

ABSTRACT

A communications protocol in accordance with one exemplary embodiment uses information from GPS satellites to synchronize the phases of transmitters, and aligns the phase with a spreading code used to de-spread the received signals at, for example, a ground station.

TECHNICAL FIELD

An exemplary aspect is directed toward communications systems. Morespecifically, an exemplary aspect is directed toward wirelesscommunications systems and even more specifically to wireless networksand/or satellite communications. Even more particularly, an exemplaryaspect is directed toward wireless networks and the use of GPS satelliteinformation to at least synchronize the phase of transmitters.

BACKGROUND

U.S. Pat. No. 6,985,512, Asynchronous Spread-Spectrum Communications, byScott A. McDermott, and Leif Eric Aamot, which is incorporated herein byreference in its entirety, describes a method wherein a receiver ofspread spectrum can receive communications from multiple devices thatuse the same spreading code. Because the code-phase of the signalsarriving from the various transmitters is not synchronized, and becausethe spreading code is orthogonal to itself at different phases, thereceiver can discriminate and decode various overlapping messages. Thesystem assumes that the code-phase of the various transmitters isasynchronous. In the case where the code phases of two (or more)different transmitters happen to be substantially identical, receptionmay fail which can cause the higher communication layers to invokere-transmission.

A similar idea was described in an earlier NASA paper entitled “A CodePhase Division Multiple Access (CPDMA) Technique for VSAT Satellite,” byBruno, R., McOmber, R., and Weinberg, A, which is also incorporatedherein by reference in its entirety. Bruno describes a reference conceptand architecture for implementing a CPDMA bulk demodulator/converter.More importantly, the paper provides an upper bound for the number ofindependent transmitters that can be reliably decoded using CPDMA.

SUMMARY

Both references make use of the properties of the spread spectrum code.Specifically, two spreading codes that are phase shifted by at least onechip are orthogonal with respect to each other. Both references alsodescribe systems with one receiver and multiple asynchronoustransmitters. Because the transmitters are not synchronized with eachother, one may assume that the phases of the spreading codes that theyuse are different. More precisely, one may assume that when thetransmitted signals arrive at the receiver, the phases of theirspreading codes are different.

Assuming the signals arriving from different transmitters are aligned onchip boundaries, the probability of two chips having the samecode-phases to within one chip time can be calculated as 1/N, where N isthe code length. The first spread code can start at any time (on a chipboundary). To enable reception by the receiver, the second code muststart such that its code is received at a different chip boundary.Assuming a spread code with N chips, one can calculate the probabilitythat two codes would overlap. There are N different starting times, butto be different, the phase of the second spreading code must be one ofthe remaining N−1 starting times. So the chance that two codes havedifferent phase is (N−1)/N. That leaves N−2 phases open for a thirdspreading code.

To find the probability that both the second spreading code and thethird spreading code will have different phase, one multiplies:N/N*(N−1)/N*(N−2)/N=N(N−1)(N−2)/N ³  (Eq. 1)

For example, using a code length of 2047, this probability isapproximately 99.85%.

If one wants to know the probability that four transmitterscommunications will arrive and not conflict, an additionalmultiplication is performed:N/N*(N−1)/N*(N−2)/N*(N−3)/N=N(N−1)(N−2)(N−3)/N ⁴  (Eq. 2)

Arbitrarily using again the above code length example of 2047, thisprobability is approximately 99.7%.

One can continue with this basic formula for any number of transmitters.For a spreading code of N chips, the probability that n spreading codeshave different phase is:N/N*(N−1)/N*(N−2)/N*(N−n+1)/N=N(N−1)(N−2) . . . (N−n+1)/N ^(n)  (Eq. 3)

This formula can be rewritten as:N!/((N−n)!*N ^(n))  (Eq. 4)

From Equation 4, one can see that the probability of n asynchronoustransmitters not to have the same phase decreases as a function of n,the number of simultaneous asynchronous transmitters. For the example ofa spreading code with 2047 chips, once there are more than 53transmitters, the probability of any transmitter conflicting withanother transmitter is greater than 50%.

The above calculation was done under the assumption that the spreadingcodes are aligned on the chip boundary. This assumption does not holdtrue however for asynchronous transmitters whose spreading code canstart at any time (and not exactly on a chip boundary) as observed fromthe receiver. As explained above, spreading codes are orthogonal withrespect to the same code which starts at a different phase (on chipboundary).

However, when two spreading code phases are separated by a fraction of achip period at the receiver, the multiplication of the two codes mayyield a number which is smaller than one but still greater than zero.Therefore, for practical reasons, to ensure reception of two differentsignals by a single receiver, Bruno's NASA paper suggests that theminimum phase offset for each received code phase is 1.5 chips.

Therefore, the probability of Equation (4) can be modified, yielding(N/1.5)!/(((N/1.5)−n)!*(N/1.5)^(n))  (Eq. 5)

Using this equation and our example with length-2047 code, we find thatusing 43 asynchronous transmitters would result in a collisionprobability of about 50%, a reduction of (53-43)/53=19% in the number ofsimultaneous transmitters.

One method of increasing the number of simultaneous transmitters withoutincreasing the probability of phase collision is to increase the lengthof the spreading code. However, this would increase the complexity ofthe system and either require greater bandwidth or reduce the availabledata rate.

Another method would be to have all the transmitters synchronize theirchip times such that they would all be received exactly on a chipboundary. This would not prevent collisions from arrivals at identicalcode-phase, but would ensue that the code phases are aligned to within asingle chip time. It would thus avoid the penalty described by Eq. 5,which facilitates only 81% of the simultaneous transmitters in ourexample.

Given the fact that the many devices can communicate only via satellitelink, the devices cannot synchronize their code-phase directly with eachother. As will be explained below, synchronization with the satelliteground station is not feasible either.

For practical reasons the length of the spreading code that thesatellite ground station uses for the forward path transmission isshorter than the spreading code used by the device to transmit over thereturn path by a factor of 100-200. This is done for two main reasons:

i) The return path is used by multiple devices which send messages tothe ground station. As can be seen from Eq. 4, the longer the code thelower the probability that two devices use the same code-phase, and assuch the lower the probability for collision that would necessitateretransmission. The spreading code used for the forward path isbroadcast to any listening devices, and as such there is no risk ofcode-phase conflict.

ii) Receivers that can handle longer spreading code may be moreexpensive because they require greater bandwidth for the same data rate.Increasing the cost of a single ground station receiver may have lowimpact on the overall system financial viability, however, increasingthe cost of the many devices that receive the forward path transmissionsmay be financially forbidding.

In addition to the forward path's spreading code being much shorter,each one of its chips has longer duration than the chips used for thereturn path. For a terminal/device (these terms are usedinterchangeably) to synchronize its timing with the ground station, theterminal would need to estimate the precise timing of the receivedsignal on the forward path as well as the precise path length from theground station through the satellite to the device itself. The onlymethod available to estimate precise timing on the forward path is theforward path chip arrival time.

Since the timing of the spreading code (chips) of the return code ismuch shorter than that on the forward path, any small percentage errorin the estimation of the timing of the forward spreading code wouldtranslate to a large (percentage wise) error in the timing of the returnpath spreading code which has much shorter chip timing. As a result,deriving the timing information from the spreading code of the forwardpath and using it to set or adjust the timing of the return pathspreading code is not practical.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present disclosure and itsadvantages, reference is now made to the following description taken inconjunction with the accompanying drawings, in which like referencenumerals represent like parts:

FIG. 1 illustrates an exemplary communications environment in accordancewith some embodiments;

FIG. 2 illustrates an example of determining universal time inaccordance with some embodiments;

FIG. 3 illustrates exemplary interference in accordance with someembodiments;

FIG. 4 illustrates an exemplary method for aligning code phase inaccordance with some embodiments;

FIG. 5 illustrates an exemplary method for aligning code phase inaccordance with some embodiments;

FIG. 6A illustrates an exemplary orthogonal spreading code of length 4in accordance with some embodiments;

FIG. 6B illustrates an exemplary recovery of code phase ofasynchronously transmitted signals in accordance with some embodiments;and

FIG. 7 illustrates an exemplary terminal architecture in accordance withsome embodiments.

DESCRIPTION OF EMBODIMENTS

To at least address the above deficiencies, and in general to improvecommunications, a system in accordance with one exemplary embodimentuses information from GPS satellites to synchronize the phase of thetransmitters, and align the phase with spreading code used to de-spreadthe received signals.

FIG. 1 illustrates an exemplary operational environment of thecommunications system. The environment includes any number of terminalsor transceivers or communications devices (here T1 and T2), a number ofGPS (Global Positioning System) satellites (GPS1-GPS3) (only three areillustrated) and one or more ground stations (G1) (only one isillustrated).

The GPS receivers in the terminals T1 and T2 receive GPS signals from atleast three GPS satellites GPS1, GPS2, and GPS3, and infer from thesignals precise universal time. The process of obtaining the universaltime is illustrated in FIG. 2.

Beginning in step S200, and continuing to step S204, each one of theterminals (T1, T2) acquires at least three GPS satellites (GPS1, GPS2,GPS3). Note that the satellites (GPS1, GPS2, GPS3) do not need to be thesame for the terminals (T1, T2) and the terminals can acquire and usedifferent or overlapping satellites. For example, terminal T2 mayacquire GPS satellites GPS1, GPS3, and GPS4 (the last satellite is notshown in FIG. 1)

Next, in step S208 each terminal determines the phase difference betweenthe GPS signals from the different GPS satellites that were acquired,and based on this difference, determines in step S212 the terminal'slocation. Then, in step S216, the terminal determines its distance fromeach one of the acquired GPS satellites. This distance is used in stepS220 to calculate the travel time of the signal from each acquired GPSsatellite to the terminal. Specifically, the terminal uses the speed oflight to convert the distance to a time delay. This delay is thencorrected for the ionospheric delay using a model provided in anavigation message, for the “Sagnac” effect (the result of transmissionin a rotating inertial reference system), and for hardware delays incables and receiver circuitry. The resulting delay time is used then instep S224 to align and synchronize the internal clock of the terminalwith the universal time.

This alignment of the internal clock is accomplished by adjusting thereceived universal time from a satellite by the respective travel timeof the signal from a GPS satellite. The universal time can be determinedfrom any of the GPS satellites. In accordance with an optionalembodiment, the terminal can perform steps S216-S224 with respect tomultiple satellites and average the result so as to minimize any timingerror that may exist in the timing obtained from any single satellite.This averaged result can then be used to update the internal clock.

The steps describe above help establish a common timing for allterminals; however, as explained below, this timing is not suitable foraligning the code-phase of the transmitted signals from each terminal.

In FIG. 3, communications satellite CS1 and ground station G1 are usedto facilitate communications between terminals T1 and T2. The code-phasearriving at the ground station G1 from terminal T1 depends on thecode-phase of the transmitted signal and the distance:D _(T1) =d _(TS1) +d _(GS)  (Eq. 6)

Similarly, the code-phase of the signal arriving at the ground stationfrom terminal T2 depends on the code-phase of the transmitted signal andthe distance:D _(T2) =d _(TS2) +d _(GS)  (Eq. 7)

The difference between the code-phases of these two signals is relativeto the difference in their respective travel times and can be calculatedby:ΔD(d _(TS1) +d _(GS))−(d _(TS2) +d _(GS))=d _(TS1) −d _(TS2)  (Eq. 8)

The location of the communications satellite CS1 is known. Forgeostationary (GEO) satellites, the location in space relative to earthcoordinates is fixed. For any other satellites (e.g., low-earth orbit(LEO) or non-stationary geosynchronous satellites), the precise locationrelative to the earth varies with time but can be determined at anytime. Once the location of a terminal is determined via GPS, thedistance between the communications satellite and the terminal can becalculated.

In accordance with one exemplary embodiment, the terminals areconfigured to align the code-phase of the arriving signals at thecommunications satellite to coincide with a specific moment in time thatwill be referred to as a “tick time.” Since signals from differentterminals, e.g., T1 and T2, travel the same distance from thecommunications satellite to the ground station, once the arrivingcode-phase of the signals is synchronized at the communicationssatellite, the code-phase of the signals would remain synchronized atthe ground station as well. A detailed description of this exemplaryprocess is provided in FIG. 4.

Referring to FIG. 4, the exemplary process commences in step S400 andcontinues to step S404. In step S404, the terminal determines its GPSlocation using satellites GPS1, GPS2, GPS3, optionally as well as otherGPS satellites that the terminal can acquire. Next, in step S408, theterminal selects a communications satellite and determines the positionof this satellite in space. Then, in step S412, the distance between theterminal and the communications satellite is calculated. Control thencontinues to step S416.

In step S416, the terminal determines the alignment delay to ensure thatthe code-phase of the received signal at the communications satelliteCS1 is aligned with a specific timing tick (e.g., on a 100 ms boundaryor other boundary). To achieve this, the travel time of the signal fromthe terminal to the communications satellite is calculated using thepropagation speed of radio waves through the layers of the atmosphere.The time is divided modulo the boundary clock tick time, and the resultis the alignment time. Specifically:Alignment time delay=(tick time)−(d _(TS) /c)mod(tick time),  (Eq. 9)where:

d_(TS) is the distance between the terminal and the communicationssatellite, and

c is the propagation speed of the radio wave.

In step S420, the code-phase used for the terminal transmission isaligned by delaying the start of a transmission by the alignment timedelay of Eq. (9) with respect to the universal clock ticks.

By synchronizing the code phase of the arriving signals from theterminals at the communications satellite, the code phases of thearriving signals at the ground station receiver are also aligned on thechip boundary. As a result the chip times of the spreading codes aresubstantially aligned and the starting times of signals received fromeach transmitter will be offset by an integer multiple of chip time. Asexplained above, when this occurs, the maximum number of simultaneoustransmitters can be estimated by Eq. (4) rather than by Eq. (5). Inother words, the maximum number of simultaneous transmitters that can bereliably decoded is increased by about 20% (depending on the length ofthe spreading code.

In accordance with another exemplary aspect, the ground station followsa process similar to the one described in relation to FIG. 2, andsynchronizes its internal timer with the universal time from the GPSsatellites. This is done so that the code phase (timing) of any receivedmessage can only occur at integer multiples of chip time from auniversal tick. In this way, the chip timing associated with signalsreceived in the ground station from any terminal is implied instead ofestimated at the receiver. This exemplary aspect allows the receiver tooperate at a lower sample rate, and may even reduce the amount ofoperations required and/or even allow for demodulation of signalsreceived at lower signal-to-noise ratios.

The terminals of this aspect should take into account the distanced_(GS) between the communications satellite and the ground station. Theprocess of adjusting the code-phase by each terminal is described inFIG. 5.

In FIG. 5, both the location of the terminal and the location of theground station are determined. Then, based on these locations and thelocation of the communications satellite, the system can calculate thetotal distance the radio signal needs to travel. FIG. 3 describes howthe system obtains the distance between the terminal and thecommunications satellite, while FIG. 5 focuses on the method todetermine the distance between the ground station and the communicationssatellite and adding these two distances for the calculation in Eq. 10.

The process commences in step S500 and continues to step S504. In stepS504, a terminal determines its GPS location using satellites GPS1,GPS2, GPS3, as well as one or more other GPS satellites that the groundstation can acquire. Next, in step S508, the terminal selects acommunications satellite and determines the position of this satellitein space and determines the position of this satellite in space. Then,in step S512, the distance between the terminal and the communicationssatellite is calculated. The system adds this distance to the distancebetween the communications satellite and the ground station anddetermines the total distance the radio signal from the terminal needsto travel towards the ground station. Cable and other receiver delayscan optionally be factored in as well with control continuing to stepS516.

In step S516, the terminal determines the alignment delay to ensure thatthe code-phase of the received signal at the ground station receiver G1is aligned with a specific timing clock tick. To achieve this, the totaltravel time of the signal from the terminal to the ground station iscalculated using the speed of propagation. The travel time is dividedmodulo the boundary clock tick time, and the result is the alignmenttime. Specifically:Alignment time delay=(tick time)−((d _(TS) +d _(GS))/c)mod(ticktime),  Eq. (10)where:

d_(TS) is the distance between the terminal and the communicationssatellite,

d_(GS) is the distance between the ground station and the communicationssatellite, and

c is the propagation speed of the radio wave.

In step S520, the code-phase used for the terminal transmission isaligned by delaying the transmission spreading code by the alignmenttime delay of Eq. (10) with respect to the universal clock ticks. Notethat this calculation can provide an initial estimate of the alignmenttime delay, which can be refined by moving toward the aggregate ofactual arrival times of messages received. In this manner, the swappingof a cable in the ground station, for example, or perturbations of thesatellite in its orbit, can be handled dynamically within the receiverwithout manual intervention.

Through the exemplary process outlined in FIG. 5, the code phases of thearriving signals at the ground station receiver are aligned on a chipboundary. Consequently, the maximum number of simultaneous transmittersthat can be reliably decoded is increased by a factor of at least 1.5.In addition, since the receiver in the ground station receives signalsfor which the code-phase is substantially aligned on a chip phase, theground station can align the phase of the spread code it uses fordecoding the received signals in the proximity of the same boundary andas such increase the efficiency of the receiver.

FIGS. 6A and 6B illustrate in greater details exemplary computationalsavings that the second embodiment described above provides. FIG. 6Aillustrates an exemplary orthogonal spreading code with four chips. Thecode can be described as:S _(T)={−1,−1,1}  Eq. (12)Multiplying the code by itself and normalizing it by its length resultsin:(1*1+(−1)*(−1)+(−1)*(−1)+1*1)/4=1  Eq. (13)Shifting the code by integer chip times results in:S _((T+1))={1,1,−1,−1}  Eq. (14)S _((T+2))={−1,1,1,−1}  Eq. (15)andS _((T+3))={−1,−1,1,1}  Eq. (16)Multiplying the signal S_(T) of Eq. 12 by the shifted signal S(T+1) ofEq. 14 results in(1*1+(1)*1+(1)*(1)+1*(1))/4=0  Eq. (17)Similarly, multiplying S_(T) by S_((T+2)) or by S_((T+3)) yields 0. Thusthe signal S_(T) is orthogonal with respect to itself.

The above discussion of the despreading operation is simplified by thefact that the symbol streams spread by the code S_(T) as shown in FIG.6A all have the same value (+) and there are no symbol transitionsfrom + to −, − to −, or − to +. Those skilled in the art shouldrecognize that actual systems will incorporate such symbol values whichare variable, and thus symbol transitions will occur. As such, thecorrelations as the code is applied will take on values between −1 and1, with maxima occurring at symbol start points. Also, the chips areshown in FIG. 6A as rectangular functions with no chip pulse shaping.Actual systems will may likely incorporate chip pulse shaping, whichwill result in further variations to the correlation output values.

When a ground station received a communications signal from a terminal(such as terminal T1 or T2 of FIG. 1), relayed via a communicationssatellite (such as satellite CS1 of FIG. 3), the specific phase of thespreading code needs to be recovered.

Referring to FIG. 6B, a signal R_(Sig) is received at the groundstation. As it is well known in the art, existing spread spectrumreceivers generate n signals G_(t) through G_(t+(n−1)) shifted byfraction of the spreading code chip time T. These signals are denoted inFIG. 6B as G_(t), G_((t+1)), G_((t+2)), etc.

To recover the specific timing T of the spreading codes chips, thereceiver in the ground station multiplies the received signal R_(Sig) byeach one internally generated signals G_(t), G_((t+1)), G_((t+2)), etc.,and normalizes the result by the length of the spreading code in aprocess similar to the one described by Eq. 13.

Normalized multiplying R_(Sig) by G_(t) yields 1. Similarly, multiplyingR_(Sig) by G_(t+6) yields 0. Multiplying R_(Sig) by G_(t+i) where i isan integer other than 0 or 6 yields a fraction smaller than 1. Existingreceivers may recover the chip time by identifying the integer i thatresults in the largest normalized multiplication of the received signalby the internally generated signals.

The process of generating the sequence of signals G_(t), G_((t+1)),G_((t+2)), etc., and multiplying the received signal R_(Sig) by each oneof these signal, which is used by existing receivers, is computationallyintensive. In contrast, the process described in our second embodimentensures that the code-phase of the signals arriving at the groundstation receiver from the various terminals are aligned on chip timingwith the signal used by the receiver to decode the received signals.Thus, an exemplary method eliminates the need for recovering thecode-phase of the spreading code chips in the receiver resulting insimpler and more cost-effective receivers.

The above discussion of recovering the code phase in FIG. 6B issimplified by the fact that the symbol streams spread by the code S_(T)all have the same value (+) and there are no symbol transitions from +to −, − to −, or − to +. Actual systems will incorporate such symbolvalues which are variable, and thus symbol transitions will occur. Assuch the correlations as the code is applied will take on values between−1 and 1, with maxima occurring at symbol start points. Also, the chipsare shown as rectangular functions with no chip pulse shaping. Actualsystems will likely incorporate chip pulse shaping, which will result infurther variations to the correlation output values, and the peak outputwill now occur at the chip center.

FIG. 7 provides a simplified block diagram 700 of a terminal, such asthose illustrated in FIG. 1, however it is to be appreciated that one ormore of the components in FIG. 7 could also be included in one or moreof the communications satellite(s) and/or ground station(s). While notillustrated, the terminal can also optionally include one or more of apower supply (e.g., battery, solar, fuel source), navigation components(autonomous/semi-autonomous/manual), a display, a GPS receiver, acamera, communications capabilities, Wi-Fi communications capabilitiesand/or Bluetooth® and/or other communications capabilities.

The terminal 700 includes one or more antennas 716 associated with theGPS signal receiver 720, as well as one or more antennas used forcommunications. The terminal 700 further includes a GPS module/locationmodule 704, a phase delta module 708, a universal time module 712, atravel time calculation module 724, a processor/CPU/ASIC 728,storage/memory 732 and clock 736, all interconnected by links/bus 5.This terminal receives GPS signals from GPS satellites 702.

The terminal 700 is capable of being in communication with one or morecommunications satellites (not shown) via conventionaltransmitter/receiver componentry, which is in turn in communication withone or more ground stations. Operation will be discussed in relation tothe components in FIG. 7 appreciating that each separate device in asystem, e.g., terminal, satellite(s), ground station(s), etc., caninclude one or more of the components shown in the figure, with each ofthe components being optional and each capable of being collocated on asingle device or non-collocated and distributed over a plurality ofdevices. Each of the components in FIG. 7 can optionally be merged withone or more of the other components described herein, or into a newcomponent(s). Additionally, it is to be appreciated that some of thecomponents may have partially overlapping functionality. Similarly, allor a portion of the functionality of a component can optionally bemerged with one or more of the other components described herein, orinto a new component(s). Additionally, one or more of the componentsillustrated in FIG. 7 can be optionally implemented partially or fullyin, for example, a baseband portion of a wireless communications deviceor GPS device such as in an analog and/or digital baseband system and/orbaseband signal processor, that is typically in communication with aradio frequency (RF) system. The baseband signal processor couldoptionally be implemented in one or more FPGAs (Field Programmable GateArrays).

Furthermore, in the illustrative but non-limiting embodiment, real-worldsatellites may be used, such as the Galaxy 3-C satellite at 95.05° W.L.,Galaxy 12 satellite at 129° 10 W.L., and Galaxy 19 satellite at 97° W.L.Each of these three Galaxy satellites currently communicate with one ofthree gateway/remote control earth stations in Napa, Calif. (Call SignE970391), and Hagerstown, Md. (Call Signs E050048 and E050049), andoperate on C-band frequencies in the 3700-4200 MHz (downlink Ispace-to-Earth) and 5925-6425 MHz (uplink I Earth-to-space) bands.Notably, any satellites, satellite systems, communication frequencies,ground stations, etc., may be used in accordance with the techniquesherein, and those illustrated herein are merely for use as an exampleimplementation of an illustrative embodiment, and are not meant to belimiting to the scope of the present disclosure.

The one more antennas 716 can be used for wireless communications overone or more wireless links between a terminal and a satellite(s),between terminals, between a terminal and another device, and/or canalso be used for reception of satellite GPS signals. The wirelesscommunication can be in accordance with technologies such as LPWAN,multi-input multi-output (MIMO) communications, multi-user multi-inputmulti-output (MU-MIMO) communications, Bluetooth®, LTE, RFID, 4G, 5G,LTE, LWA, LP communications, Wi-Fi, etc. In general, the antenna(s)discussed herein can include, but are not limited to one or more ofdirectional antennas, omnidirectional antennas, monopoles, patchantennas, loop antennas, microstrip antennas, dipoles, multi-elementantennas, phased array, and any other antenna(s) suitable forcommunication transmission/reception. In an exemplary embodiment,transmission/reception may require a particular antenna spacing orplacement on a device. In another exemplary embodiment, the type oftransmission/reception can require spatial diversity allowing fordifferent channel characteristics at each of the antennas.

Example wireless links, therefore, may specifically include, but are notlimited to, radio communication links, near-field-based communicationlinks, Wi-Fi communication links, satellite communication links,cellular communication links, infrared communication links, microwavecommunication links, optical communication (light/laser-based) links,combinations thereof, or the like.

The antenna(s) generally interact with an Analog Front End (AFE) (notshown), which is used to enable the correct processing of the receivedmodulated signal and signal conditioning for a transmitted signal. TheAFE can be functionally located between the antenna and a digitalbaseband system (not shown) in order to convert the analog signal into adigital signal for processing and vice-versa.

The CPU/controller/microprocessor 728 can be connected to thememory/storage/cache 732 and one or more of the other componentsdiscussed herein. The various components can interact with thememory/storage 732 and processor 728 which may store information andoperations necessary for configuring and transmitting or receiving theinformation described herein and/or operating the device as describedherein. The memory/storage 732 may also be used in connection with theexecution of application programming or instructions by thecontroller/CPU 728, and for temporary or long term storage of programinstructions and/or data. As examples, the memory/storage 732 maycomprise a computer-readable device, RAM, ROM, DRAM, SDRAM, HD, and/orother storage device(s) and media.

The processor 728 may comprise a general purpose programmable processoror controller for executing application programming or instructionsrelated to the device 700. Furthermore, the processor 728 can performoperations for configuring and transmitting information as describedherein. The processor 728 may include multiple processor cores, and/orimplement multiple virtual processors. Optionally, the processor 728 mayinclude multiple physical processors. By way of example, the processor728 may comprise one or more of a specially configured ApplicationSpecific Integrated Circuit (ASIC) or other integrated circuit, adigital signal processor(s), a controller, a hardwired electronic orlogic circuit(s), a programmable logic device or gate array, a specialpurpose computer, and/or the like, to perform the functionalitydescribed herein.

The terminal 700 can further include a transmitter(s) radio circuit andreceiver(s) radio circuit which can transmit and receive signals,respectively, to and from other wireless devices and/or satellites usingthe one or more antennas. Optionally included in the device 700 is amedium access control or MAC module/circuitry and PHY circuitry.

The MAC module can provide control for accessing the wireless mediumbetween the devices. In an exemplary embodiment, the MAC circuitry maybe arranged to contend for the wireless medium and configure frames orpackets for communicating over the wireless medium as discussed.

The PHY module controls the electrical and physical specifications forcommunications. In particular, PHY module manages the relationshipbetween the devices and the transmission medium. Primary functions andservices performed by the physical layer, and in particular the PHYmodule, include the establishment and termination of a connection to acommunications medium, and participation in the various process andtechnologies where communication resources are shared between, forexample, multiple devices. These technologies further include, forexample, contention resolution and flow control andmodulation/demodulation or conversion between a representation ofdigital data and the corresponding signals transmitted over thecommunications channel. These signals are transmitted over a radiocommunications (wireless) link. The physical layer of the OSI model andthe PHY module/circuitry can be embodied as a plurality of subcomponents. These sub components and/or circuits can include a PhysicalLayer Convergence Procedure (PLCP) which can act as an adaptation layer.The PLCP is at least responsible for the Clear Channel Assessment (CCA)and building packets for different physical layer technologies. ThePhysical Medium Dependent (PMD) layer specifies modulation and codingtechniques used by the device and a PHY management layer manages channeltuning and the like. A station management sub layer and the MACcircuitry can also handle coordination of interactions between the MACand PHY layers at the various transceivers.

The MAC layer and components, and in particular the MAC circuitry canprovide functional and procedural means to transfer data between theentities and to detect and possibly correct errors that may occur in thephysical layer. The MAC circuitry also can provide access tocontention-based and contention-free traffic on different types ofphysical layers, such as when multiple communications technologies areincorporated into one or more of the devices. In the MAC, theresponsibilities are divided into the MAC sub-layer and the MACmanagement sub-layer. The MAC sub-layer defines access mechanisms andpacket formats while the MAC management sub-layer defines powermanagement, security and roaming services, etc.

The terminal 700 can also optionally contain a security module (notshown). This security module can contain information regarding but notlimited to, security parameters required to connect the terminal to oneor more other devices or other available network(s), and can include WEPor WPA/WPA-2 (optionally+AES and/or TKIP) security access keys, networkkeys, etc. Security access keys are a security password used bynetworks. Knowledge of this code can enable a wireless device toexchange information with another device.

The terminal can also optionally contain an interleaver/deinterleaverthat can perform interleaving and/or deinterleaving functions to, forexample, assist with error correction. A modulator/demodulator canoptionally perform modulation and/or demodulation functions such asOFDM, QPSK, QAM, or other modulation/demodulaton techniques, etc. Anencoder/decoder can optionally perform various types ofencoding/decoding of data. A scrambler can optionally be used for dataencoding. A multiplexer/demultiplexer can optionally providemultiplexing and demultiplexing services, such as spatial multiplexing.

In operation, the GPS signal receivers 720 in the terminals T1 and T2receive GPS signals from at least three GPS satellites, and infer fromthe signals precise universal time in cooperation with the universaltime module 712.

Specifically, each terminal acquires at least three GPS satellites,noting that the satellites do not need to be the same for the terminals(T1, T2) and the terminals can acquire and use different or overlappingsatellites. The phase delta module 708 determines the phase differencebetween the GPS signals from the different GPS satellites that wereacquired, and based on this difference, determines in cooperation withthe GPS module/location module 704 the location of the terminal.

The location module 704 also determines the terminal's distance fromeach one of the acquired GPS satellites. This distance is used by thetravel time calculation module 724 to calculate the travel time of thesignal from each acquired GPS satellite to the terminal. Specifically,the travel time calculation module 724 uses the speed of light toconvert the distance to a time delay. This delay is then corrected forthe ionospheric delay using a model provided in a navigation message,for the “Sagnac” effect (the result of transmission in a rotatinginertial reference system), and for hardware delays in cables andreceiver circuitry. The resulting delay time is used by the processor728 to align and synchronize the internal clock 736 of the terminal withthe universal time.

As discussed, this alignment of the internal clock can be accomplishedby adjusting the received universal time from a satellite by therespective travel time of the signal from a GPS satellite. The universaltime can be determined from any of the GPS satellites an in an optionalembodiment, the travel time calculation module 724 can determine thetravel time with respect to multiple satellites and average or otherwiseupdate the resultant calculation so as to minimize any timing error thatmay exist in the timing obtained from any single satellite. Thisaveraged result can then be used to update the internal clock 736.

While the above process provides common timing for all terminals, theterminals also need to align the code-phase of the transmitted signalsfrom each terminal.

As illustrated herein in relation to FIG. 3, communications satelliteCS1 and ground station G1 are used to facilitate communications betweenterminals T1 and T2. The code-phase arriving at the ground station G1from terminal T1 depends on the distance in Eq. 6. Similarly, thecode-phase of the signal arriving at the ground station from terminal T2depends on the distance described in Eq. 7. The difference between thecode-phases of these two signals is relative to the difference in theirrespective travel times and can be calculated by Eq. 8.

The location of the communications satellite CS1 is known by thelocation module 704. For geostationary (GEO) satellites, the location inspace relative to earth coordinates is fixed. For any other satellites(e.g., low-earth orbit or non-stationary geosynchronous satellites), theprecise location relative to the earth varies with time but can bedetermined at any time by the location module 704. Once the location ofa terminal is determined via GPS by the GPS module 704, the distancebetween the communications satellite and the terminal can be calculated.

In accordance with one exemplary embodiment, the terminals areconfigured to align the code-phase of the arriving signals at thecommunications satellite to coincide with a tick time. This isaccomplished with the terminal 700 determining with the GPS module 704its GPS location. The processor 728 then selects a communicationssatellite and determines the position of this satellite in space withthe cooperation of the location module 704. With this information, thedistance between the terminal and the communications satellite isdetermined. The alignment module 740 determines the alignment delay toensure that the code-phase of the received signal at the communicationssatellite is aligned with a specific timing tick. To achieve this, thetravel time of the signal from the terminal to the communicationssatellite is calculated using the propagation speed of radio wavesthrough the layers of the atmosphere. The time is divided modulo theboundary clock tick time, and the result is the alignment time asillustrated in Eq. 9.

The terminal is then able to align the code-phase used for the terminaltransmission by the processor 728 controlling the delay of the start ofa transmission by the alignment time delay of Eq. (9) with respect tothe universal clock ticks.

By synchronizing the code phase of the arriving signals from the variousterminals at the communications satellite, the code phases of thearriving signals at the ground station receiver are also aligned on thechip boundary and, as a result, the starting time as seen by the groundstation receiver of the spreading codes used by the various terminals tospread the transmitted frequencies start substantially on the same chiptiming.

As discussed, the ground station can also synchronize its internal timer(clock) with the universal time from the GPS satellites by obtaining theGPS time and compensating for the delay between the GPS satellite(s) andthe ground station. This is done so that the code phase (timing) of anyreceived message can only occur at integer chip offsets of a universaltick. In this way, the chip timing may be implied instead of estimatedat the receiver. Here, the terminals should take into account thedistance d_(GS) between the communications satellite and the groundstation. This is accomplished by a GPS module in the ground stationdetermining the GPS location of the ground station using GPS satellites.Those skilled in the art should understand that the precise location ofthe ground station may be obtained from GPS components, fromtriangulation of cell phone towers, triangulation to TV stations,entered manually as a configuration parameter or by any other method(s).The specifics of how the ground station obtains its precise location isnot fundamental to the technology disclosed herein. The terminal 700determines the communications satellite used for communication with theground station and also determines the position of this satellite inspace with the cooperation of the location module 704. The distancebetween the terminal and the communications satellite is calculated bythe processor 728 and the terminal adds this distance to the distancebetween the communications satellite and the ground station anddetermines the total distance the radio signal from the terminal needsto travel towards the ground station with optionally cable and otherreceiver delays being factored into the calculation.

The alignment module 740 determines the alignment delay to ensure thatthe code-phase of the received signal at the ground station receiver G1is aligned with a specific timing clock tick. To achieve this, the totaltravel time of the signal from the terminal to the ground station iscalculated using the speed of propagation is determined by the processor728. The travel time is divided modulo the boundary clock tick time, andthe result is the alignment time illustrated in Eq. 10.

The code-phase used for the terminal transmission is aligned by theprocessor 728 delaying the transmission spreading code by the alignmenttime delay of Eq. (10) with respect to the universal clock ticks.Therefore, since the code phase of the arriving signal at the groundstation is known, the ground station does not need to estimate orotherwise to recover it from the received signal. Rather, the groundstation can de-spread the received signal using a spreading code alignedwith the time tick as explained above. Although not specificallydescribed, those skilled in the art should recognize that the timingdelay is also compensated for various system delays such as the relayingdelay of the communication satellite CS1, cable and analog front endamplifier delays, etc.

It should be noted that certain steps within the flowcharts may beoptional and the steps shown in the figures are merely examples forillustration, and certain other steps may be included or excluded asdesired. Furthermore, while a particular order of the steps is shown,this ordering is merely illustrative, and any suitable arrangement ofthe steps may be utilized without departing from the scope of theembodiments herein. Moreover, the methods are described separately,certain steps from each procedure may be incorporated into one or moreof the other methods, and the various steps are not meant to be mutuallyexclusive.

In the detailed description, numerous specific details are set forth inorder to provide a thorough understanding of some embodiments. However,it will be understood by persons of ordinary skill in the art that someembodiments may be practiced without these specific details. In otherinstances, well-known methods, procedures, components, units and/orcircuits have not been described in detail so as not to obscure thediscussion.

Some embodiments may be used in conjunction with various devices andsystems, for example, a User Equipment (UE), a Mobile Device (MD), awireless station (STA), a Personal Computer (PC), a desktop computer, amobile computer, a laptop computer, a notebook computer, a tabletcomputer, a server computer, a handheld computer, a handheld device, aPersonal Digital Assistant (PDA) device, a handheld PDA device, anon-board device, an off-board device, a hybrid device, a vehiculardevice, a non-vehicular device, a mobile or portable device, a consumerdevice, a non-mobile or non-portable device, a wireless communicationstation, a wireless communication device, a wireless Access Point (AP),a wired or wireless router, a wired or wireless modem, a video device,an audio device, an audio-video (A/V) device, a wired or wirelessnetwork, a wireless area network, a Wireless Video Area Network (WVAN),a Local Area Network (LAN), a Wireless LAN (WLAN), a Personal AreaNetwork (PAN), a Wireless PAN (WPAN), and the like.

Some embodiments may be used in conjunction with devices and/or networksoperating in accordance with existing Wireless-Gigabit-Alliance (WGA)specifications (Wireless Gigabit Alliance, Inc. WiGig MAC and PHYSpecification Version 1.1, April 2011, Final specification) and/orfuture versions and/or derivatives thereof, devices and/or networksoperating in accordance with existing IEEE 802.11 standards (IEEE802.11-2012, IEEE Standard for Information technology—Telecommunicationsand information exchange between systems Local and metropolitan areanetworks—Specific requirements Part 11: Wireless LAN Medium AccessControl (MAC) and Physical Layer (PHY) Specifications, Mar. 29, 2012;IEEE802.11ac-2013 (“IEEE P802.11ac-2013, IEEE Standard for InformationTechnology—Telecommunications and Information Exchange BetweenSystems—Local and Metropolitan Area Networks—Specific Requirements—Part11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)Specifications—Amendment 4: Enhancements for Very High Throughput forOperation in Bands below 6 GHz”, December, 2013); IEEE 802.11ad (“IEEEP802.11ad-2012, IEEE Standard for InformationTechnology—Telecommunications and Information Exchange BetweenSystems—Local and Metropolitan Area Networks—Specific Requirements—Part11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)Specifications—Amendment 3: Enhancements for Very High Throughput in the60 GHz Band”, 28 Dec. 2012); IEEE-802.11REVmc (“IEEE802.11-REVmcTM/D3.0, June 2014 draft standard for Informationtechnology—Telecommunications and information exchange between systemsLocal and metropolitan area networks Specific requirements; Part 11:Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)Specification”); IEEE802.11-ay (P802.11ay Standard for InformationTechnology—Telecommunications and Information Exchange Between SystemsLocal and Metropolitan Area Networks—Specific Requirements Part 11:Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)Specifications—Amendment: Enhanced Throughput for Operation inLicense-Exempt Bands Above 45 GHz)), IEEE 802.11-2016 and/or futureversions and/or derivatives thereof, devices and/or networks operatingin accordance with existing Wireless Fidelity (Wi-Fi) Alliance (WFA)Peer-to-Peer (P2P) specifications (Wi-Fi P2P technical specification,version 1.5, August 2014) and/or future versions and/or derivativesthereof, devices and/or networks operating in accordance with existingor future developed cellular specifications and/or protocols, e.g., 3rdGeneration Partnership Project (3GPP), 3GPP Long Term Evolution (LTE)and/or future versions and/or derivatives thereof, units and/or deviceswhich are part of the above networks, or operate using any one or moreof the above protocols or other communications protocols, and the like.

Some embodiments may be used in conjunction with one way and/or two-wayradio communication systems, cellular radio-telephone communicationsystems, a mobile phone, a cellular telephone, a wireless telephone, aPersonal Communication Systems (PCS) device, a PDA device whichincorporates a wireless communication device, a mobile or portableGlobal Positioning System (GPS) device, a device which incorporates aGPS receiver or transceiver or chip, a device which incorporates an RFIDelement or chip, a Multiple Input Multiple Output (MIMO) transceiver ordevice, a Single Input Multiple Output (SIMO) transceiver or device, aMultiple Input Single Output (MISO) transceiver or device, a devicehaving one or more internal antennas and/or external antennas, DigitalVideo Broadcast (DVB) devices or systems, multi-standard radio devicesor systems, a wired or wireless handheld device, e.g., a Smartphone, aWireless Application Protocol (WAP) device, or the like.

Some embodiments may be used in conjunction with one or more types ofwireless communication signals and/or systems, for example, RadioFrequency (RF), Infra-Red (IR), Frequency-Division Multiplexing (FDM),Orthogonal FDM (OFDM), Orthogonal Frequency-Division Multiple Access(OFDMA), FDM Time-Division Multiplexing (TDM), Time-Division MultipleAccess (TDMA), Multi-User MIMO (MU-MIMO), Spatial Division MultipleAccess (SDMA), Extended TDMA (E-TDMA), General Packet Radio Service(GPRS), extended GPRS, Code-Division Multiple Access (CDMA), WidebandCDMA (WCDMA), CDMA 2000, single-carrier CDMA, multi-carrier CDMA,Multi-Carrier Modulation (MDM), Discrete Multi-Tone (DMT), Bluetooth,Global Positioning System (GPS), Wi-Fi, Wi-Max, ZigBee™, Ultra-Wideband(UWB), Global System for Mobile communication (GSM), 2G, 2.5G, 3G, 3.5G,4G, Fifth Generation (5G), or Sixth Generation (6G) mobile networks,3GPP, Long Term Evolution (LTE), LTE advanced, Enhanced Data rates forGSM Evolution (EDGE), LPWAN, LoRA, Ultra Narrow Band, Random PhaseMultiple Access, or the like. Other embodiments may be used in variousother devices, systems and/or networks.

Some demonstrative embodiments may be used in conjunction with a WLAN(Wireless Local Area Network), e.g., a Wi-Fi network. Other embodimentsmay be used in conjunction with any other suitable wirelesscommunication network, for example, a wireless area network, a“piconet”, a WPAN, a WVAN, and the like.

Some demonstrative embodiments may be used in conjunction with awireless communication network communicating over a frequency band of 5GHz and/or 60 GHz. However, other embodiments may be implementedutilizing any other suitable wireless communication frequency bands, forexample, an Extremely High Frequency (EHF) band (the millimeter wave(mmWave) frequency band), e.g., a frequency band within the frequencyband of between 20 GHz and 300 GHz, a WLAN frequency band, a WPANfrequency band, a frequency band according to the WGA specification, andthe like.

While the above provides just some simple examples of the various deviceconfigurations, it is to be appreciated that numerous variations andpermutations are possible. Moreover, the technology is not limited toany specific channels, but is generally applicable to any frequencyrange(s)/channel(s). Moreover, the technology may be useful in theunlicensed spectrum.

In the detailed description, numerous specific details are set forth inorder to provide a thorough understanding of the disclosed techniques.However, it will be understood by those skilled in the art that thepresent techniques may be practiced without these specific details. Inother instances, well-known methods, procedures, components and circuitshave not been described in detail so as not to obscure the presentdisclosure.

Although embodiments are not limited in this regard, discussionsutilizing terms such as, for example, “processing,” “computing,”“calculating,” “determining,” “establishing”, “analyzing”, “checking”,or the like, may refer to operation(s) and/or process(es) of a computer,a computing platform, a computing system, a communication system orsubsystem, or other electronic computing device, that manipulate and/ortransform data represented as physical (e.g., electronic) quantitieswithin the computer's registers and/or memories into other datasimilarly represented as physical quantities within the computer'sregisters and/or memories or other information storage medium that maystore instructions to perform operations and/or processes.

Although embodiments are not limited in this regard, the terms“plurality” and “a plurality” as used herein may include, for example,“multiple” or “two or more”. The terms “plurality” or “a plurality” maybe used throughout the specification to describe two or more components,devices, elements, units, parameters, circuits, or the like. Forexample, “a plurality of stations” may include two or more stations.

It may be advantageous to set forth definitions of certain words andphrases used throughout this document: the terms “include” and“comprise,” as well as derivatives thereof, mean inclusion withoutlimitation; the term “or,” is inclusive, meaning and/or; the phrases“associated with” and “associated therewith,” as well as derivativesthereof, may mean to include, be included within, interconnect with,interconnected with, contain, be contained within, connect to or with,couple to or with, be communicable with, cooperate with, interleave,juxtapose, be proximate to, be bound to or with, have, have a propertyof, or the like; and the term “controller” means any device, system orpart thereof that controls at least one operation, such a device may beimplemented in hardware, circuitry, firmware or software, or somecombination of at least two of the same. It should be noted that thefunctionality associated with any particular controller may becentralized or distributed, whether locally or remotely. Definitions forcertain words and phrases are provided throughout this document andthose of ordinary skill in the art should understand that in many, ifnot most instances, such definitions apply to prior, as well as futureuses of such defined words and phrases.

The exemplary embodiments will be described in relation tocommunications systems, as well as protocols, techniques, means andmethods for performing communications, such as in a wireless network, orin general in any communications network operating using anycommunications protocol(s). It should be appreciated however that ingeneral, the systems, methods and techniques disclosed herein will workequally well for other types of communications environments, networksand/or protocols.

For purposes of explanation, numerous details are set forth in order toprovide a thorough understanding of the present techniques. It should beappreciated however that the present disclosure may be practiced in avariety of ways beyond the specific details set forth herein.Furthermore, while the exemplary embodiments illustrated herein showvarious components of the system collocated, it is to be appreciatedthat the various components of the system can be located at distantportions of a distributed network, such as a communications network,node, and/or the Internet, or within a dedicated secured, unsecured,and/or encrypted system and/or within a network operation or managementdevice that is located inside or outside the network. As an example, aDomain Master can also be used to refer to any device, system or modulethat manages and/or configures or communicates with any one or moreaspects of the network or communications environment and/ortransceiver(s) and/or stations and/or satellite communications system(s)described herein.

Thus, it should be appreciated that the components of the system can becombined into one or more devices, or split between devices, such as atransceiver, a device, an IoT sensor, a station, a Domain Master, anetwork operation or management device, a node or collocated on aparticular node of a distributed network, such as a communicationsnetwork. As will be appreciated from the following description, and forreasons of computational efficiency, the components of the system can bearranged at any location within a distributed network without affectingthe operation thereof. For example, the various components can belocated in a spatial router, a node on the network, a domain managementdevice, a network operation or management device, a transceiver(s), astation, an access point(s), a communications unit, or some combinationthereof. Similarly, one or more of the functional portions of the systemcould be distributed between a transceiver and an associated computingdevice/system.

Furthermore, it should be appreciated that the various links 5,including the communications channel(s) connecting the elements, can bewired or wireless links or any combination thereof, or any other knownor later developed element(s) capable of supplying and/or communicatingdata to and from the connected elements. The term module as used hereincan refer to any known or later developed hardware, circuitry, software,firmware, or combination thereof, that is capable of performing thefunctionality associated with that element. The terms determine,calculate, and compute and variations thereof, as used herein are usedinterchangeable and include any type of methodology, process, technique,mathematical operational or protocol.

Moreover, while some of the exemplary embodiments described herein aredirected toward a transmitter portion of a transceiver performingcertain functions, or a receiver portion of a transceiver performingcertain functions, this disclosure is intended to include correspondingand complementary transmitter-side or receiver-side functionality,respectively, in both the same transceiver and/or anothertransceiver(s), and vice versa.

The exemplary embodiments are described in relation to LPWANcommunications. However, it should be appreciated, that in general,portions of the systems and methods herein will work equally well forany type of communication system in any environment utilizing any one ormore protocols including wired communications, wireless communications,powerline communications, coaxial cable communications, fiber opticcommunications, and the like.

To avoid unnecessarily obscuring the present disclosure, the descriptionomits well-known structures and devices that may be shown in blockdiagram form or otherwise summarized.

Exemplary aspects are directed toward:

A communications system comprising:

a location determining module adapted to determine a location of one ormore of the terminal and a communications satellite; and

an alignment module, the alignment module at least using locationinformation from the location determining module to align arrivalcode-phases of signals for a ground station receiver.

Any of the aspects, wherein the alignment module:

determines an alignment time and aligns a code-phase of a spread code ona clock tick boundary.

Any of the aspects, wherein the determining of the alignment timeincludes:

determining a geographic position of the terminal;

determining a position of the communications satellite;

determining a distance between the terminal and the communicationssatellite; and

adjusting a starting time of a spreading code by a function of acommunications signal travel distance modulo predetermined time period.

Any of the aspects, wherein the adjusting comprises subtracting a timethe communications signal travels along a distance modulo predeterminedtime period from a predetermined time period.

Any of the aspects, wherein the determining of the alignment timeincludes:

determining a geographic position of the terminal;

determining a position of the communications satellite;

determining a distance between the terminal and the communicationssatellite; and

adjusting a starting time of a spreading code by a function of adistance the communications signal travels from the terminal to thecommunications satellite modulo predetermined time period.

Any of the aspects, wherein the determining of the alignment timeincludes:

determining a geographic position of the terminal;

determining a geographic position of the ground station;

determining a position of the communications satellite;

determining a distance between the terminal and the communicationssatellite;

determining a distance between a ground station and the communicationssatellite;

establishing a total distance a signal traverses by adding the distancebetween the terminal and the communications satellite and the distancebetween the ground station and the communications satellite; and

adjusting a starting time of a spreading code by a function of acommunications signal travel distance modulo predetermined time period.

Any of the aspects, wherein the adjusting comprises subtracting a timethe communications signal travels along the distance modulopredetermined time period from the predetermined time period.

Any of the aspects, further comprising a ground station alignment moduleadapted to align code-phase timing of a spreading code used by areceiver to de-spread a received signal with a specific time periodclock ticks aligned with a universal GPS clock timing. Any of theaspects, further comprising a phase delta module, a universal timemodule, a clock and a travel time calculation module in communicationwith the location determining module.A communications method for a communications terminal comprising:determining a location of one or more of the terminal and acommunications satellite; and using location information to alignarrival code-phases of signals at a ground station receiver.Any of the aspects, further comprising determining an alignment time andaligning a code-phase of a spread code on a clock tick boundary.Any of the aspects, wherein the determining of the alignment timeincludes:determining a geographic position of the terminal;determining a position of the communications satellite;determining a distance between the terminal and the communicationssatellite; andadjusting a starting time of a spreading code by a function of acommunications signal travel distance modulo predetermined time period.Any of the aspects, wherein the adjusting comprises subtracting a timethe communications signal travels along a distance modulo predeterminedtime period from a predetermined time period.Any of the aspects, wherein the determining of the alignment timeincludes:determining a geographic position of the terminal;determining a position of the communications satellite;determining a distance between the terminal and the communicationssatellite; andadjusting a starting time of a spreading code by a function of adistance the communications signal travels from the terminal to thecommunications satellite modulo predetermined time period.Any of the aspects, wherein the determining of the alignment timeincludes:determining a geographic position of the terminal;determining a geographic position of the ground station;determining a position of the communications satellite;determining a distance between the terminal and the communicationssatellite;determining a distance between a ground station and the communicationssatellite;establishing a total distance a signal traverses by adding the distancebetween the terminal and the communications satellite and the distancebetween the ground station and the communications satellite; andadjusting a starting time of a spreading code by a function of acommunications signal travel distance modulo predetermined time period.Any of the aspects, wherein the adjusting comprises subtracting a timethe communications signal travels along the distance modulopredetermined time period from the predetermined time period.Any of the aspects, further comprising aligning code-phase timing of aspreading code used by a receiver to de-spread a received signal with aspecific time period clock ticks aligned with a universal GPS clocktiming.Any of the aspects, further comprising updating an internal clock anddetermining a universal time.A communications system comprising:means for determining a location of one or more of the terminal and acommunications satellite; andmeans for using location information to align arrival code-phases ofsignals at a ground station receiver.Any of the aspects, further comprising means for determining analignment time and means for aligning a code-phase of a spread code on aclock tick boundary.Any of the aspects, wherein the determining of the alignment timeincludes:determining a geographic position of the terminal;determining a position of the communications satellite;determining a distance between the terminal and the communicationssatellite; andadjusting a starting time of a spreading code by a function of acommunications signal travel distance modulo predetermined time period.Any of the aspects, wherein the adjusting comprises subtracting a timethe communications signal travels along a distance modulo predeterminedtime period from a predetermined time period.Any of the aspects, wherein the determining of the alignment timeincludes: determining a geographic position of the terminal;determining a position of the communications satellite;determining a distance between the terminal and the communicationssatellite; andadjusting a starting time of a spreading code by a function of adistance the communications signal travels from the terminal to thecommunications satellite modulo predetermined time period.Any of the aspects, wherein the determining of the alignment timeincludes:determining a geographic position of the terminal;determining a geographic position of the ground station;determining a position of the communications satellite;determining a distance between the terminal and the communicationssatellite;determining a distance between a ground station and the communicationssatellite;establishing a total distance a signal traverses by adding the distancebetween the terminal and the communications satellite and the distancebetween the ground station and the communications satellite; andadjusting a starting time of a spreading code by a function of acommunications signal travel distance modulo predetermined time period.Any of the aspects, wherein the adjusting comprises subtracting a timethe communications signal travels along the distance modulopredetermined time period from the predetermined time period.Any of the aspects, further comprising means for aligning code-phasetiming of a spreading code used by a receiver to de-spread a receivedsignal with a specific time period clock ticks aligned with a universalGPS clock timing.Any of the aspects, further comprising means for updating an internalclock.A communications system comprising:an alignment module, processor and connected memory that at least usinglocation information for one or more of a terminal and a communicationssatellite to align modulation and demodulation codes, or spreading andde-spreading codes, for a ground station receiver.Any of the aspects, wherein the alignment module is in one or more of aterminal and a ground station.Any of the aspects, wherein the terminal aligns a code-phase of anarriving signal at the communications satellite to coincide with aspecific moment in time.Any of the aspects, wherein the communications satellite aligns acode-phase of a de-spreading signal at a ground station to coincide witha specific moment in time.

A system on a chip (SoC) including any one or more of the above aspects.

One or more means for performing any one or more of the above aspects.

Any one or more of the aspects as substantially described herein.

For purposes of explanation, numerous details are set forth in order toprovide a thorough understanding of the present embodiments. It shouldbe appreciated however that the techniques herein may be practiced in avariety of ways beyond the specific details set forth herein.

Furthermore, while the exemplary embodiments illustrated herein show thevarious components of the system collocated, it is to be appreciatedthat the various components of the system can be located at distantportions of a distributed network, such as a communications networkand/or the Internet, or within a dedicated secure, unsecured and/orencrypted system. Thus, it should be appreciated that the components ofthe system can be combined into one or more devices, such as a spatialrouter, or collocated on a particular node/element(s) of a distributednetwork, such as a communications network. As will be appreciated fromthe following description, and for reasons of computational efficiency,the components of the system can be arranged at any location within adistributed network without affecting the operation of the system. Forexample, the various components can be located in a transceiver, aspatial router, a station, a sensor, a management device, or somecombination thereof. Similarly, one or more functional portions of thesystem could be distributed between a transceiver and an associatedcomputing device.

While the above-described flowcharts have been discussed in relation toa particular sequence of events, it should be appreciated that changesto this sequence can occur without materially effecting the operation ofthe embodiment(s). Additionally, the exact sequence of events need notoccur as set forth in the exemplary embodiments, but rather the stepscan be performed by one or the other transceiver in the communicationsystem provided both transceivers are aware of the technique being usedfor communication. Additionally, the exemplary techniques illustratedherein are not limited to the specifically illustrated embodiments butcan also be utilized with the other exemplary embodiments and eachdescribed feature is individually and separately claimable.

The above-described system can be implemented or partially implementedon a wireless telecommunications device(s)/system, such an IEEE 802.11transceiver, a satellite communications transceiver, or the like.Examples of wireless protocols that can be used with this technologyinclude IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n, IEEE802.11ac, IEEE 802.11ad, IEEE 802.11af, IEEE 802.11ah, IEEE 802.11ai,IEEE 802.11aj, IEEE 802.11aq, IEEE 802.11ax, Wi-Fi, LTE, 4G, Bluetooth®,WirelessHD, WiGig, WiGi, 3GPP, Wireless LAN, WiMAX, DensiFi SIG, UnifiSIG, 3GPP LAA (licensed-assisted access), and the like.

The term transceiver/terminal as used herein can refer to any devicethat comprises hardware, software, circuitry, firmware, or anycombination thereof and is capable of performing any of the methods,techniques and/or algorithms described herein.

Additionally, the systems, methods and protocols can be implemented toimprove one or more of a special purpose computer, a programmedmicroprocessor or microcontroller and peripheral integrated circuitelement(s), an ASIC or other integrated circuit, a digital signalprocessor, a hard-wired electronic or logic circuit such as discreteelement circuit, a programmable logic device such as PLD, PLA, FPGA,PAL, a modem, a transmitter/receiver, any comparable means, or the like.In general, any device capable of implementing a state machine that isin turn capable of implementing the methodology illustrated herein canbenefit from the various communication methods, protocols and techniquesaccording to the disclosure provided herein.

Examples of the processors as described herein may include, but are notlimited to, at least one of Qualcomm® Snapdragon® 800 and 801, Qualcomm®Snapdragon® 610 and 615 with 4G LTE Integration and 64-bit computing,Apple® A7 processor with 64-bit architecture, Apple® M7 motioncoprocessors, Samsung® Exynos® series, the Intel® Core™ family ofprocessors, the Intel® Xeon® family of processors, the Intel® Atom™family of processors, the Intel Itanium® family of processors, Intel®Core® i5-4670K and i7-4770K 22 nm Haswell, Intel® Core® i5-3570K 22 nmIvy Bridge, the AMD® FX™ family of processors, AMD® FX-4300, FX-6300,and FX-8350 32 nm Vishera, AMD® Kaveri processors, Texas Instruments®Jacinto C6000™ automotive infotainment processors, Texas Instruments®OMAP™ automotive-grade mobile processors, ARM® Cortex™-M processors,ARM® Cortex-A and ARM1926EJ-S™ processors, Broadcom® AirForceBCM4704/BCM4703 wireless networking processors, the AR7100 WirelessNetwork Processing Unit, other industry-equivalent processors, and mayperform computational functions using any known or future-developedstandard, instruction set, libraries, and/or architecture.

Furthermore, the disclosed methods may be readily implemented insoftware using object or object-oriented software developmentenvironments that provide portable source code that can be used on avariety of computer or workstation platforms. Alternatively, thedisclosed system may be implemented partially or fully in hardware usingstandard logic circuits or VLSI design. Whether software or hardware isused to implement the systems in accordance with the embodiments isdependent on the speed and/or efficiency requirements of the system, theparticular function, and the particular software or hardware systems ormicroprocessor or microcomputer systems being utilized. Thecommunication systems, methods and protocols illustrated herein can bereadily implemented in hardware and/or software using any known or laterdeveloped systems or structures, devices and/or software by those ofordinary skill in the applicable art from the functional descriptionprovided herein and with a general basic knowledge of the computer andcommunications arts.

Moreover, the disclosed methods may be readily implemented in softwareand/or firmware that can be stored on a storage medium to improve theperformance of: a programmed general-purpose computer with thecooperation of a controller and memory, a special purpose computer, amicroprocessor, or the like. In these instances, the systems and methodscan be implemented as program embedded on personal computer such as anapplet, JAVA® or CGI script, as a resource residing on a server orcomputer workstation, as a routine embedded in a dedicated communicationsystem or system component, or the like. The system can also beimplemented by physically incorporating the system and/or method into asoftware and/or hardware system, such as the hardware and softwaresystems of a communications transceiver.

It is therefore apparent that there has at least been provided systemsand methods for enhancing and improving communications. While theembodiments have been described in conjunction with a number ofembodiments, it is evident that many alternatives, modifications andvariations would be or are apparent to those of ordinary skill in theapplicable arts. Accordingly, this disclosure is intended to embrace allsuch alternatives, modifications, equivalents and variations that arewithin the spirit and scope of this disclosure.

The invention claimed is:
 1. A communications system comprising: alocation determining module adapted to determine a location of one ormore of a terminal and a geostationary communications satellite; and analignment module, the alignment module at least in communication withand at least using information corresponding to the determined locationfrom the location determining module to align arrival code-phases ofsignals for a ground station receiver by altering a clock for amodulated signal transmitted from the terminal, wherein the alignmentmodule: determines an alignment time and aligns a code-phase of aspreading code on a clock tick boundary, wherein the determining of thealignment time includes: determining a geographic position of theterminal; determining a position of the communications satellite;determining a distance between the terminal and the communicationssatellite; and adjusting a starting time of the spreading code by afunction of a communications signal travel distance modulo predeterminedtime period.
 2. The system of claim 1, wherein the adjusting comprisessubtracting a time the communications signal travels along a distancemodulo predetermined time period from a predetermined time period. 3.The system of claim 1, wherein the determining of the alignment timeincludes: determining a geographic position of the terminal; determininga position of the communications satellite; determining a distancebetween the terminal and the communications satellite; and adjusting astarting time of the spreading code by a function of a distance thecommunications signal travels from the terminal to the communicationssatellite modulo predetermined time period.
 4. The system of claim 1,wherein the determining of the alignment time includes: determining ageographic position of the terminal; determining a geographic positionof the ground station receiver; determining a position of thecommunications satellite; determining a distance between the terminaland the communications satellite; determining a distance between theground station receiver and the communications satellite; establishing atotal distance a signal traverses by adding the distance between the aterminal and the communications satellite and the distance between theground station receiver and the communications satellite; and adjustinga starting time of the spreading code by a function of a communicationssignal travel distance modulo predetermined time period.
 5. The systemof claim 4, wherein the adjusting comprises subtracting a time thecommunications signal travels along the distance modulo predeterminedtime period from the predetermined time period.
 6. The system of claim1, further comprising a ground station alignment module adapted to aligncode-phase timing of the spreading code used by the ground stationreceiver to de-spread a received signal with a specific time periodclock ticks aligned with a universal GPS clock timing.
 7. The system ofclaim 1, further comprising a phase delta module, a universal timemodule, a clock and a travel time calculation module in communicationwith the location determining module.
 8. A communications method for acommunications terminal comprising: determining a location of one ormore of the communications terminal and a geostationary communicationssatellite; using information corresponding to the determined location toalign arrival code-phases of signals as a ground station receiver; anddetermining an alignment time and aligning a code-phase of a spreadingcode on a clock tick boundary for a signal transmitted from theterminal, wherein the determining of the alignment time includes:determining a geographic position of the terminal; determining aposition of the communications satellite; determining a distance betweenthe terminal and the communications satellite; and adjusting a startingtime of the spreading code by a function of a communications signaltravel distance modulo predetermined time period.
 9. The method of claim8, wherein the adjusting comprises subtracting a time the communicationssignal travels along a distance modulo predetermined time period from apredetermined time period.
 10. A communications method for acommunications terminal comprising: determining a location of one ormore of the communications terminal and a geostationary communicationssatellite; using information corresponding to the determined location toalign arrival code-phases of signals at a ground station receiver; anddetermining an alignment time and aligning a code-phase of a spreadingcode on a clock tick boundary for a signal transmitted from theterminal, wherein the determining of the alignment time includes:determining a geographic position of the terminal; determining aposition of the communications satellite; determining a distance betweenthe terminal and the communications satellite; and adjusting a startingtime of the spreading code by a function of a distance thecommunications signal travels from the terminal to the communicationssatellite modulo predetermined time period.
 11. A communications methodfor a communications terminal comprising: determining a location of oneor more of the communications terminal and a geostationarycommunications satellite; using information corresponding to thedetermined location to align arrival code-phases of signals at a groundstation receiver; and determining an alignment time and aligning acode-phase of a spreading code on a clock tick boundary for a signaltransmitted from the terminal, wherein the determining of the alignmenttime includes: determining a geographic position of the terminal; adetermining a geographic position of the ground station receiver;determining a position of the communications satellite; determining adistance between the terminal and the communications satellite;determining a distance between the ground station receiver and thecommunications satellite; establishing a total distance a signaltraverses by adding the distance between the terminal and thecommunications satellite and the distance between a ground stationreceiver and the communications satellite; and adjusting a starting timeof the spreading code by a function of a communications signal traveldistance modulo predetermined time period.
 12. The method of claim 10,wherein the adjusting comprises subtracting a time the communicationssignal travels along the distance modulo predetermined time period fromthe predetermined time period.
 13. The method of claim 11, furthercomprising aligning code-phase timing of the spreading code used by theground station receiver to de-spread a received signal with a specifictime period clock ticks aligned with a universal GPS c timing andupdating an internal clock and determining a universal time.